	Foreword

	The included script was written with the intention of easing the building of the tools necessary to develop for the Sega VMS on Linux. This is to reduce the time invested to find the needed resources, understand the code and processes involved, and lower the bar for entry for those who wish to develop for this platform.

	The included script, the compiled programs, source code, and additional files included are thus provided with NO warranty and/or guarantee or support except where expressly stated within the respective license agreements. USE AT YOUR OWN RISK.

	It may be modified and distributed freely with the following provisions:

	* The source files provided may NOT be modified directly as per request of the original authors. Please respect their wishes, they were kind enough to provide permission allow distribution.
	* It must be EXPLICTLY stated that the original source code provided was developed and maintained by the original authors as stated in the respective segment below. This is what this README file is for. Credit goes to the authors of their work!
	* The stipulations and provisions in the respective licenses for each portion must be respected (where included) and may not be superceded or nullified by any party other than the original authors.
	* No support beyond that of this document, other than that in the linked resources below, will be provided. The internet is your friend here, as there are communities dedicated to meet this end.



	Running The Applications

	The applications should ideally run from the command line as they require input files to actually perform any sort of tasks. They do not require root permission to run.

	The command line argument -h is helpful for understanding the input options. This works for all the included applications.

	SoftVMS was designed to run at lower resolutions than what are available today. This is typically not useful as anticipated, so one may use the command line argument -2 to run the application at double size. This is purely cosmetic, it will not affect any loaded applications otherwise.

	Lcdis by default will output to the command line. Again this may not be desired. The output can be piped to a file with the use of a > and the name of the output file (eg. ./lcdis input > output).

	The assembler is very straightforward, it simply takes an input file and outputs it to VMS format. The assembled programs can be run with SoftVMS and on a physical VMS. It should be noted that the sfr.i header file is necessary to run the assembler.



	SoftVMS Control Modifications

	VMS A Button - A/Z key
	VMS B Button - B/X key
	VMS Start Button - S/Space key
	Exit (and save) - M/Return/Escape key
	
	Note: The modification to SoftVMS allows saving over the original source VMS file. According to Marcus, this was an intentional feature of the non-Dreamcast compilations to ensure that the original VMS file is kept clean. While this is desired in most cases, it is not always the case. Specific examples are Chao Adventure 1/2, Chao Editor 1/2, and for development purposes.
	If you desire to NOT save over the original VMS files loaded into this build of SoftVMS, exit the program via the GUI or the command line and NOT via the Exit function of SoftVMS. YOU HAVE BEEN WARNED! Always keep an unedited source version of your VMS files!!!



	Uploading To The VMS Hardware

	While it is beyond the scope of this project, eventually a developer has to run code on original hardware. This can be achieved many ways, the most typical of which without hardware modification is to use the DC-TOOL GUI by Sizious, the IP/Serial port Loader utility, and the Dream Explorer appliation for the DC. The IP method will require a Dreamcast Broadband Adapter (BBA), whereas the Serial method will require what is known as a coders cable. Google and Ebay are your best resoruces for this, a full explanation would be far too verbose for this document.
	The compiled VMS files will require a VMI index file in order to be detected by the Dreamcast for uploading to the VMU and detection in the file manager. An online tool is available for this purpose, located at http://bswirl.kitsunet.org/vmieditor/?lg=en&menu=on. It requires some information about the file being indexed which should be available quite easily.
	If using the BBA (or the prototype LAN adapter) method, a crossover cable is recommended, as well as a spare ethernet port on the development computer. In practice the actual setup of the networking is different depending on the machine running it; you may need to use Internet Connection Sharing (ICS), a network bridge (if no spare port is available and WIFI is desired along with the connection to the DC), or a router connection, though the latter seems to be unstable. Point being you are on your own here. Windows is required to run the DC-TOOLS GUI.
	A developer may load the afforementioned mentioned disk images from an SD card either via a SD card to Serial port reader or a GD ROM replacement allowing disk images to be loaded from MicroSD. These are available online for purchase but are certainly not required (but HEAVILY recommended in the case of the latter due to the failure of mechanical parts). Please note the authors of the utilities and scripts included DO NOT support piracy and will not provide disk images of commercial applications so do not ask. 
	This process is partially explained on Marcus Comstedts website, along with the IP/Serial Loader. A link to the DC-TOOL GUI application is provided below.



	Author Credits

Marcus Comstedt: Author of the SoftVMS emulator, sfr.i header file, Tetris example code used to help faciitate porting the official VMU sources, and other remarkable work done for the DC/VMS homebrew community.

John Maushammer: Author of the VMS decompiler, hosted on Marcus' Comstedt's website.

Alessandro Sanasi: Author of the modifications to SoftVMS to allow saving back to the original VMS file, Hello World/skeleton example code used to help with the code ports.

Various members of the DCEmulation forums: Providing much needed information and help with writing the script for KallistiOS (KOS) which the compilation script for VMS was based upon.

Jaye Dee Yaple: Author of the original sections of the VMS compilation script, the modification to the VMS disassembler to include the Linux macro, and this README. So you know who to curse at when things go wrong.



	Additional Resources
	http://bswirl.kitsunet.org/vmieditor/?lg=en&menu=on - VMI file creator for uploading VMS files to physical hardware. Near essential for VMS development.

	http://mc.pp.se/dc - Most of the sources provided were from here, and is a wealth of information on Dreamcast and VMS development from both a hardware and software standpoint. Pretty much required reading.

	http://www.deco.franken.de/vmu.html - Home to various resources related to VMS development, written in plain English (where applicable), and additional VMS utilities. Heavily recommended for those who are not technically inclined.

	http://www.goodcowfilms.com/farm/games/news-archive/Sega%20dreamcast%20VMU%20development%20tools.htm - Similar to Alessandro Sanasi's website, a valuable resource for VMS development, written in plain English (where applicable).

	http://gamedev.allusion.net/ - Home of KallistiOS (KOS). Well worth visiting for anyone who desires to develop for the Sega Dreamcast.

	http://dcemulation.org/ - Host to various information, scripts, and a community dedicated to Dreamcast and VMS development. Without their help, none of this would have been possible.

	http://sizious.emunova.net/download/?idsys=2&idcat=2 - Home to the DC-TOOL GUI by Sizious. This is used to push applications to the Dreamcast memory or the VMS in tandem with the respective loader programs.
